Currently, Web content published in tag-delimited, markup languages for presentation on browser clients is a popular form of digital data communication. A browser client, or simply “browser,” is a computer application that interprets individual statements, delimited using tags, which describe the layout and substance of the content. The content can include, for example, textual, audio, and video communications, and can be static or interactive.
Although many markup languages exist, the Hypertext Markup Language (HTML) and the Extensible Markup Language (XML) are widely used due to their ability to be distributed and interpreted in an almost hardware-independent manner by browsers operating in a variety of hardware environments. For instance, digital data networks compliant with the Transmission Control Protocol/Internet Protocol (TCP/IP) use the Hypertext Transport Protocol (HTTP) to transfer markup language content organized into pages accessed over the so-called World Wide Web. These “Web” pages make content available for viewing on a browser in a hierarchically structured, easy to navigate fashion.
Collections of related Web pages are often organized into a single Web site that is rooted in a home page. The home page typically identifies the Web site based on some common domain name identifier. For instance, “www.RoseDog.com” is the home page of RoseDog.com™, a Web site headquartered in Seattle, Wash., which provides services for writers, agents and publishers. A client can navigate through the Web site beginning with the home page into successively linked Web pages identified by hyperlinks embedded within the content.
Although such content can be easy to access, each page must actually be encoded in the markup language as a self-contained document that is served by a Web server one page at a time. The one-page-per-service request requirement is a limitation resulting as a side effect of HTTP, which is a stateless protocol. Specifically, HTTP uses two main commands, “GET” and “POST,” used by a client to specify a Web page to be retrieved and viewed. A separate Web page must be stored even if a pair of Web pages contains nearly identical content. This limitation can result in significant data duplication, which can be particularly inefficient if the content for each related Web page is organized in a similar structure. Moreover, revising the Web content can be a monumental task if wholesale changes to appearance and structure are required, as opposed to merely displaying new content.
One prior art approach to creating Web content creates Web pages directly incorporating the content with the structure. Many popular Web page publishing tools, such as Microsoft FrontPage, licensed by Microsoft Corporation, Redmond, Wash., and DreamWeaver, licensed by Macromedia, Inc., San Francisco, Calif., generate Web pages hard-coded in HTML. The content can be modified by visually editing each Web Page with the page-publishing tool or by editing the raw HTML with a text editor. Neither approach easily accommodates wholesale changes to the appearance or structure of the Web pages, a limitation which can be particularly problematic for a Web site containing multiple, nearly identical Web pages. Furthermore, the text editor approach is unacceptable for a novice user lacking programming expertise.
Another prior art approach to creating Web content introduces a template within which the structure of each Web page is specified separately from the actual data. This type of template is used to create Web pages for viewing on a browser. These types of tools generate interpretable, proprietary scripts, such as Active Server Pages, licensed by Microsoft Corporation; WebObjects, licensed by Apple Computer, Cupertino Calif.; and ColdFusion, licensed by Allaire Corporation, Cambridge, Mass. These tools provide a runtime environment for inserting data objects into Web pages. Typically, the data used to populate these data objects is retrieved from proprietary data sources, such as Structured Query Language (SQL) databases and the final Web page is built by combining the interpretable scripts with the retrieved data to generate HTML source code. In addition, data insertion and modification can be an arduous task requiring custom database applications. Moreover, the data structures used by these data sources are often rigid and cannot be easily changed.
Therefore, what is needed is an approach to organizing content augmenting conventional Web content creation tools, such as content for use in Web pages, whereby the data stored in the Web page can be easily modified without writing custom data entry applications. What is also needed is an approach to loading complex data based on a structured template written in a non-proprietary manner. Such an approach would preferably use a standard markup language specifying metadata in a vendor-independent fashion and usable by existing Web content publishing tools and viewers.